// utils/router.js
import { Local } from '@/utils/storage';
const uRoute = uni.$u.route;
/**
 * 封装 route
 * @param options 路由参数 详情看https://vkuviewdoc.fsq.pub/js/route.html文档
 * @param needLogin 是否需要登录才能访问
 */
async function push(options: any, needLogin: boolean = false) {
	const url = options.url || options;
	if (beforeEach(url, needLogin)) {
		await uRoute(options);
	}
}
// 自定义路由守卫函数
function beforeEach(url: string, needLogin: boolean) {
	const token = Local.getToken();
	// 跳转的页面 是登录页 或者 token存在
	if (url === '/pages/login/index' || token) {
		return true;
	}
	if (!token && needLogin) {
		Local.set('redirectUrl', url as any);
		uni.$u.route('/pages/login/index');
		return false;
	}
	return true;
}

export default {
	push,
};
